package org.alex.nettychat.netty.custom.serializer;

/**
 * 序列化
 *
 * @author : alex
 */
public interface Serializer {
    /**
     * 默认的序列化算法
     */
    Serializer DEFAULT = new JSONSerializer();

    /**
     * 序列号算法
     */
    byte getSerializerAlgorithm();

    /**
     * Java 对象序列化
     */
    byte[] serialize(Object object);

    /**
     * 反序列化
     */
    <T> T deserialize(Class<T> clazz, byte[] bytes);
}
